package queuedemo;

import com.sun.source.tree.BreakTree;

//空一个位置
public class MyCircularQueue1{
public int[] elem;
public int front;
public int rear;

        public MyCircularQueue1(int k) {
elem=new int[k];
        }
//入队
        public boolean enQueue(int value) {
if (isFull()) return false;
elem[rear]=value;
rear=(rear+1)%elem.length;
return true;
        }
//出队
        public boolean deQueue() {
if (isEmpty()) return false;
front=(front+1)%elem.length;
return true;
        }
//获取队头元素
        public int Front() {
                if (isEmpty()) return -1;
            return elem[front];
        }
//获取队尾元素
        public int Rear() {
              if (isEmpty()) return -1;
              int index=(rear==0)?elem.length-1:rear-1;
              return elem[index];
        }
//判断是否为空
        public boolean isEmpty() {
return rear==front;
        }
//判断是否为满
        public boolean isFull() {
if ((rear+1)%elem.length==front) {
    return true;}
                return false;
        }

    }


